Cytosim  PI
Cytoskeleton Simulator

Detailed Description

The ShackleLong adds a non-zero resting length to Duo, using Meca:interSideSlidingLink()

For zero-resting length, use Shackle

ShackleLong is automatically selected if ( prop:length > 0 )

This is highly experimental!

Inheritance diagram for ShackleLong:
Shackle Couple Object HandMonitor Node Inventoried Movable

Public Member Functions

 ShackleLong (ShackleProp const *, Vector const &w=Vector(0, 0, 0))
 create following the specifications in the CoupleProp
 
virtual ~ShackleLong ()
 destructor
 
Vector posSide () const
 position on the side of fiber1 used for sideInteractions
 
Vector force1 () const
 force between hands More...
 
void setInteractions (Meca &) const
 add interactions to the Meca More...
 
- Public Member Functions inherited from Shackle
 Shackle (ShackleProp const *p, Vector const &w=Vector(0, 0, 0))
 create following the specifications in the CoupleProp
 
virtual ~Shackle ()
 destructor
 
void stepAA ()
 simulation step if doubly attached
 
- Public Member Functions inherited from Couple
 Couple (CoupleProp const *, Vector const &w=Vector(0, 0, 0))
 create following the specifications in the CoupleProp
 
virtual ~Couple ()
 destructor
 
Coupleoperator= (Couple const &)
 copy operator
 
void setProperty (CoupleProp *)
 change the property and update the two Hands
 
void addConfinement (Meca &, const Hand *) const
 add confinement for give Hand if applicable
 
virtual void setInteractionsAF (Meca &) const
 add interactions to the Meca
 
virtual void setInteractionsFA (Meca &) const
 add interactions to the Meca
 
virtual Vector position () const
 the position of the complex, calculated from cPos, cHand1 and cHand2 More...
 
virtual bool translatable () const
 Couple can be displaced only if it is not attached.
 
virtual void translate (Vector const &w)
 translate object's position by the given vector
 
virtual void setPosition (Vector const &w)
 move object to specified position
 
virtual void foldPosition (const Modulo *s)
 modulo the current position vector in the space
 
void randomizePosition ()
 set the position randomly inside the confining Space
 
real stiffness () const
 stiffness of the link ( = prop->stiffness )
 
HandattachedHand () const
 return one Hand that is attached, or zero if both are detached
 
real cosAngle () const
 cosine of the angle between the two Fibers attached by the hands
 
Vector posFree () const
 the position of the complex if it is unattached
 
virtual void stepFF (const FiberGrid &)
 simulation step for a free Couple: diffusion
 
void stepAF (const FiberGrid &)
 simulation step for a Couple attached by Hand1
 
void stepFA (const FiberGrid &)
 simulation step for a Couple attached by Hand2
 
void stepAA ()
 simulation step for a Bridge Couple
 
Hand const * hand1 () const
 pointer to Hand1
 
bool attached1 () const
 true if Hand1 is attached
 
Vector pos1 () const
 position of Hand1 when attached (invalid call otherwise)
 
Fiberfiber1 () const
 Tubule to which Hand1 is attached, or zero if attached to another kind of Fiber.
 
void attachTo1 (Fiber *f, real ab, FiberEnd from)
 attach Hand1 at the given position
 
void attachToEnd1 (Fiber *f, FiberEnd end)
 attach Hand1 at the given end
 
void attach1 (FiberBinder &fb)
 attach Hand1 at the given FiberBinder
 
Hand const * hand2 () const
 pointer to Hand2
 
bool attached2 () const
 true if Hand2 is attached
 
Vector pos2 () const
 position of Hand2 when attached (invalid call otherwise)
 
Fiberfiber2 () const
 Tubule to which Hand2 is attached, or zero if attached to another kind of Fiber.
 
void attachTo2 (Fiber *f, real ab, FiberEnd from)
 attach Hand2 at the given position
 
void attachToEnd2 (Fiber *f, FiberEnd end)
 attach Hand2 at the given end
 
void attach2 (FiberBinder &fb)
 attach Hand2 at the given FiberBinder
 
Couplenext () const
 a static_cast<> of Node::next()
 
Coupleprev () const
 a static_cast<> of Node::prev()
 
Tag tag () const
 return unique character identifying the class
 
const Propertyproperty () const
 return Object Property
 
void write (OutputWrapper &) const
 write to file
 
void read (InputWrapper &, Simul &)
 read from file
 
- Public Member Functions inherited from Object
 Object ()
 constructor
 
std::string reference () const
 concatenation of [ tag(), property()->index(), number() ] in plain ascii More...
 
void writeReference (OutputWrapper &) const
 write a reference that identifies the Object uniquely More...
 
void writeReference (OutputWrapper &, Tag tag) const
 write a reference, but using the provided Tag More...
 
int mark () const
 birth mark value
 
void mark (int m)
 set birth mark
 
int fleck () const
 fleck value (not stored in trajectory files)
 
void fleck (int f) const
 set fleck (the value is not stored in trajectory files)
 
Objectnext () const
 extends Node::next(), with a cast to preserve type
 
Objectprev () const
 extends Node::prev(), with a cast to preserve type
 
- Public Member Functions inherited from Node
 Node ()
 constructor set as unlinked
 
virtual ~Node ()
 destructor More...
 
bool linked () const
 true if Node is linked
 
Nodenext () const
 the next Node in the list, or zero if this is last
 
Nodeprev () const
 the previous Node in the list, or zero if this is first
 
NodeListlist () const
 the list where the object is linked, or zero
 
ObjectSetobjset () const
 return associated ObjectSet
 
- Public Member Functions inherited from Inventoried
 Inventoried ()
 initialize (name=0)
 
 ~Inventoried ()
 destructor
 
void number (Number n)
 change the serial number
 
Number number () const
 serial number : a integer identifier, unique within each class
 
- Public Member Functions inherited from Movable
 Movable ()
 constructor
 
virtual ~Movable ()
 destructor
 
virtual bool rotatable () const
 true if object accepts rotations (default=false)
 
virtual void rotate (Rotation const &)
 rotate the object around the origin of coordinates More...
 
virtual void rotateP (Rotation const &)
 rotate the object around its current position More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
static std::string strReference (char, int, Number, int)
 build a string reference by concatenating (tag, property_index, number, mark) More...
 
static void readReference (InputWrapper &, int &, Number &, int &, char pretag)
 read a reference (property_index, number, mark) from input More...
 
static void writeNullReference (OutputWrapper &)
 write a reference that does not refer to any Object
 
- Static Public Member Functions inherited from Movable
static Vector readPrimitive (std::istream &, const Space *)
 read a position specified with primitives, such as 'circle 5', etc. More...
 
static Vector readPosition (std::istream &, const Space *)
 read a position in space More...
 
static Vector readDirection (std::istream &, const Vector &, const Space *)
 read an orientation, and return a normalized vector More...
 
static Rotation readRotation (std::istream &, const Vector &, const Space *)
 read a rotation specified in is, at position pos More...
 
- Public Attributes inherited from Couple
HandcHand1
 first Hand
 
HandcHand2
 second Hand
 
- Static Public Attributes inherited from Couple
static const Tag TAG = 'c'
 a unique character identifying the class
 
- Static Public Attributes inherited from Object
static const Tag TAG = 'v'
 Object::TAG = 'v' represents the 'void' pointer.
 
- Protected Member Functions inherited from Couple
bool allowAttachment (const FiberBinder &)
 specialization of HandMonitor More...
 
void afterAttachment ()
 specialization of HandMonitor
 
void beforeDetachment ()
 specialization of HandMonitor
 
void afterDetachment ()
 specialization of HandMonitor
 
Number objNumber () const
 specialization of HandMonitor
 
HandotherHand (Hand *) const
 specialization of HandMonitor
 
Vector otherDirection (Hand *) const
 specialization of HandMonitor
 
real interactionLength () const
 specialization of HandMonitor
 
- Protected Attributes inherited from Shackle
ShackleProp const * prop
 property
 
- Protected Attributes inherited from Couple
CoupleProp const * prop
 property
 
Vector cPos
 position and position in previous step of complex
 
- Protected Attributes inherited from Node
NodenNext
 the next Node in the list
 
NodenPrev
 the previous Node in the list
 
- Protected Attributes inherited from Inventoried
Number nNumber
 object identifier, unique within the class defined by tag()
 

Member Function Documentation

Vector force1 ( ) const
virtual

When ( prop->length > 0 ), we calculate the force for the interSideLink()

Reimplemented from Couple.

void setInteractions ( Meca meca) const
virtual

The interaction is slipery on hand1

Reimplemented from Shackle.